Compensation for repeatable runout error

ABSTRACT

A disc drive having a servo loop for positioning a head over a disc includes a servo controller which generates a servo control signal in response to a received position error signal. An actuator, coupled to the servo controller, moves the head in response to the servo control signal. A sensor, located in the head, senses servo information located on the disc and produces a servo signal therefrom. The servo signal is combined with a reference signal to produce the position error signal. A compensation storage device stores decimated compensation values and a servo compensator expands the decimated compensated values and injects the expanded compensation values into the servo loop.

REFERENCES TO RELATED APPLICATION

This application claims a priority benefit from a U.S. provisional application having Ser. No. 60/121,165, entitled DECIMATION OF WRITTEN-IN ERROR COMPENSATION TABLES IN AN EMBEDDED SERVO DISC-DRIVE, and filed on Feb. 22, 1999.

FIELD OF THE INVENTION

The present invention relates to servo systems in disc drives. In particular, the present invention relates to compensation for errors in servo systems.

BACKGROUND OF THE INVENTION

Disc drives read and write information along concentric tracks formed on discs. To locate a particular track on a disc, disc drives typically use embedded servo fields on the disc. These embedded fields are utilized by a servo subsystem to position a head over a particular track. The servo fields are written onto the disc when the disc drive is manufactured and are thereafter simply read by the disc drive to determine position.

Ideally, a head following the center of a track moves along a perfectly circular path around the disc. However, two types of errors prevent heads from following this ideal path. The first type of error is a written-in error that arises during the creation of the servo fields. Written-in errors occur because the write head used to produce the servo fields does not always follow a perfectly circular path due to unpredictable pressure effects on the write head from the aerodynamics of its flight over the disc, and from vibrations in the gimbal used to support the head. Because of these written-in errors, a head that perfectly tracks the path followed by the servo write head will not follow a circular path.

The second type of error that prevents circular paths is known as a track following error. Track following errors arise as a head attempts to follow the path defined by the servo fields. The track following errors can be caused by the same aerodynamic and vibrational effects that create written-in errors. In addition, track following errors can arise because the servo system is unable to respond fast enough to high frequency changes in the path defined by the servo fields.

Written-in errors are often referred to as repeatable runout errors because they cause the same errors each time the head passes along a track. As track densities increase, these repeatable runout errors begin to limit the track pitch. Specifically, variations between the ideal track path and the actual track path created by the servo fields can result in an inner track path that interferes with an outer track path. This is especially acute when a first written-in error causes a head to be outside of an inner track's ideal circular path and a second written-in error causes the head to be inside of an outer track's ideal circular path. To avoid limitations on the track pitch, a system is needed to compensate for repeatable runout errors.

The written-in errors can be compensated using stored compensation values which are used as additional inputs, into the servo loop. However, sufficient memory is required to store all of the compensation values.

The present invention addresses these and other problems, and offers other advantages over the prior art.

SUMMARY OF THE INVENTION

The present invention relates to disc drives that have compensation for repeatable runout errors which address the above mentioned problems.

In accordance with one embodiment of the invention, a disc drive having a servo loop for positioning a head over a disc. The servo loop includes a servo controller which generates a servo control signal in response to a received position error signal and an actuator, coupled to the servo controller is capable of moving the head in response to the servo control signal. A sensor, located in the head, is capable of sensing servo information located on the disc and producing a servo signal therefrom. The servo signal is combined with a reference signal to produce the position error signal. A compensation storage device stores decimated compensation values and a servo compensator is adapted to expand the decimated compensated value and inject the expanded compensation value into the servo loop.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a plan view of a disc drive of the present invention.

FIG. 2 is a top view of a section of a disc showing an ideal track and a realized written-in track.

FIG. 3 is a block diagram of a prior art servo loop.

FIG. 4 is a block diagram of a servo loop of the present invention.

FIG. 5 is a block diagram of a resampling operation.

FIG. 6 is a graph of a written-in composition table.

FIG. 7 is a graph of a written-in composition table.

FIG. 8 is a simplified flow chart showing steps in accordance with the invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Referring now to FIG. 1, a plan view of a disc drive 100 is shown that includes a housing with a base plate 102 and a top cover 104 (sections of top cover 104 are removed for clarity). Disc drive 100 further includes a disc pack 106, which is mounted on a spindle motor (not shown). Disc pack 106 can include a plurality of individual discs which are mounted for co-rotation about a central axis. Each disc surface has an associated head gimbal assembly (HGA) 112 which is mounted to disc drive 100 for communication with the disc surface. Each HGA 112 includes a gimbal and a slider, which carries one or more read and write heads. Each HGA 112 is supported by a suspension 118 which is in turn attached to a track accessing arm 120 known generally as a fixture, of an actuator assembly 122.

Actuator assembly 122 is rotated about a shaft 126 by a voice coil motor 124, which is controlled by servo control circuitry within internal circuit 128. HGA 112 travels in an arcuate path 130 between a disc inner diameter 132 and a disc outer diameter 134. When the head is properly positioned, write circuity within internal circuitry 128 encodes data for storage on the disc and sends an encoded signal to the head in HGA 112, which writes the information to the disc. At other times, the read head in HGA 112 reads stored information from the disc and provides a recovered signal to detector circuitry and decoder circuitry within internal circuitry 128 to produce a recovered data signal.

FIG. 2 is a top view of a section 198 of a disc 201 showing an ideal, perfectly circular track 200 and an actual track 202. Section 198 includes a plurality of radially extending servo fields such as servo fields 204 and 206. The servo fields include servo information that identifies the location of actual track 202 along disc section 198.

Any variation in the position of a head away from circular track 200 is considered a position error. The portions of track 202 that do not follow circular track 200 create written-in repeatable runout position errors. A position error is considered a repeatable runout error if the same error occurs each time the head passes a particular circumferential location on the disc. Track 202 creates a repeatable runout error because each time a head follows the servo fields that define track 202, it produces the same position error relative to ideal track 200.

Under the present invention, a head attempting to write to or read from track 202 will not follow track 202 but instead will more closely follow perfectly circular track 200. This is accomplished using a compensation signal that prevents the servo system from tracking repeatable runout errors resulting from the irregular shape of track 202.

FIG. 3 is a block diagram of a servo loop 208 of the prior art. The servo loop includes a servo controller 210, having a gain of “K” and a disc drive 212 having a gain of “P”. Servo controller 210 is the servo control circuitry within internal circuit 128 of FIG. 1. Disc drive 212 includes actuator assembly 122, voice coil motor 124, track accessing arm 120, suspension 118, and head gimbal assembly 112, all of FIG. 1.

Servo controller 210 generates a control current 214 that drives the voice coil motor of disc drive 212. In response, disc drive 212 produces head motion 216. In FIG. 3, the written-in error, d, is represented as a separate input signal 218 even though the written-in error would otherwise appear implicitly in head motion 216. The separation of written-in error 218 from head motion 216 provides a better understanding of the present invention. In addition, noise in the servo system has been separated and appears as noise 220, which is added to the head motion. The sum of head motion 216, written-in error 218 and noise 220 results in the head's servo measurement signal 222. Servo measurement signal 222 is subtracted from a reference signal 224, which is generated by internal circuitry 128 based on a desired location for the head. Subtracting head measurement 222 from reference signal 224 produces position error signal 226 which is input to servo controller 210.

The servo loop of FIG. 3 has a closed loop response that is calculated as: $\begin{matrix} {y = {\frac{PK}{1 + {PK}}\left( {r - n - d_{w}} \right)}} & {{Equation}\quad 1} \end{matrix}$

where “y” is head motion 216, “P” is the gain of disc drive 212, “K” is the gain of servo controller 210, “r” is reference signal 224, “n” is noise signal 220, and “d_(w)” is the written-in error.

From Equation 1, it is clear that heads in servo loops of the prior art move in response to written-in errors. This movement is undesirable since it places the head outside of the ideally circular track path. Further, because the transfer function, PK/(1+PK), is frequency dependent, the transfer function suffers from peaking at certain frequencies. This peaking causes even greater position errors because it amplifies the written-in error at certain frequencies.

An alternative description of the response of the closed loop system of FIG. 3 is: $\begin{matrix} {{PES} = {\frac{1}{1 + {PK}}\left( {r - n - d_{w}} \right)}} & {{Equation}\quad 2} \end{matrix}$

where PES is PES signal 226 of FIG. 3. Using Equation 2, an estimation of d_(w) can be produced by ignoring reference signal 224 and noise signal 220 and only using the portions of position error signal 226 that are caused by repeatable runout error. This results in: $\begin{matrix} {d_{w} = {- \quad \frac{R}{\frac{1}{\left( {1 + {PK}} \right)}}}} & {{Equation}\quad 3} \end{matrix}$

where R is the repeatable runout portion of position error signal 226.

To eliminate the unwanted head motion created by the written-in error, the present invention adds a compensation signal to the servo loop of the prior art. This added signal is shown in servo loop 232 of the present invention, which is shown in FIG. 4. In FIG. 4, the elements that are common to FIG. 3 are numbered the same. The compensation signal added to the servo loop is compensation signal 228, which is produced by compensation circuitry (or servo compensator) 229. In FIG. 4, compensation signal 228 is inserted after the summation of written-in error 218 and head motion 216. However, those skilled in the art will recognize that the compensation signal can be added at other locations within the servo loop.

With the addition of compensation signal 228, the closed loop response of servo loop 232 is expressed as: $\begin{matrix} {y = {\frac{PK}{1 + {PK}}\left( {r - n - d_{w} - d_{c}} \right)}} & {{Equation}\quad 4} \end{matrix}$

where d_(c) is compensation signal 228. From Equation 4, it is apparent that the effects of written-in error, d_(w), will be eliminated by compensation signal, d_(c), if the compensation signal is equal to the negative of the written-in error.

Using equations 3 and 4 above, an estimation of the compensation signal, d_(c), needed to eliminate the effects of written-in error, d_(w), appears as: $\begin{matrix} {d_{c} = \quad \frac{R}{\frac{1}{\left( {1 + {PK}} \right)}}} & {{Equation}\quad 5} \end{matrix}$

where R is the repeatable runout component of the position error measurement.

In terms of frequencies, Equation 5 can be described as: $\begin{matrix} {{d_{c}\left( {j\quad \omega} \right)} = \quad \frac{R\left( {j\quad \omega} \right)}{\frac{1}{\left( {1 + {PK}} \right)}\left( {j\quad \omega} \right)}} & {{Equation}\quad 6} \end{matrix}$

The compensation signal injected into the servo loop of the present invention is preferably a time-domain signal. Preferably, this time-domain signal is determined using the frequency domain relationship shown in Equation 6 to produce a frequency-domain compensation signal and transforming the resulting frequency-domain compensation signal into a time-domain compensation signal.

If disc 201 has N servo sectors (204,206, etc.) on each track, the sample rate f_(s) is defined as:

f _(s)=1/T _(s) =N·RPM/60 Hz  Equation 7

where T_(s) is the sample period and RPM is the rotations per minute of the disc. One aspect of the invention includes the recognition that the written-in error is periodic, with a period of T_(s) which equals 60/(N·RPM) seconds. Because the signal is periodic, the spectrum of the written-in error (d_(w)) is uniquely defined by a Fourier series with discrete line spectra: $\begin{matrix} {{d_{w}(t)} = {{\sum\limits_{m = \infty}^{\infty}\quad {c_{m}^{j\quad \frac{2\pi \quad m}{T_{s}}}}} = {c_{0} + {2\quad {\sum\limits_{m = 1}^{\infty}{{\quad c_{m}}\quad {COS}\quad \left( {{\frac{2\pi \quad m}{T_{s}}t} + \varphi_{M}} \right)}}}}}} & {{Equation}\quad 8} \end{matrix}$

where c_(m) is the Fourier coefficient for each frequency component. With the additional constraint that d_(w) is discrete-time with N samples, results in the Fourier series consisting of only N harmonically related exponential functions. (If the disc drive actuator is moving at frequencies which are above the Nyquist frequency (f_(s)/2 Hz), then these frequencies will be alaised below the Nyquist frequency when written into the disc surface). With this additional constraint, the spectrum of the written-in error, d_(w) and the written-in correction, d_(c) can be expressed as: $\begin{matrix} {{d_{w}(k)} = {\sum\limits_{m = 0}^{N - 1}\quad {c_{m}^{j\quad}\frac{2\pi \quad m}{N}k}}} & {{Equation}\quad 9} \\ {{d_{c}(k)} = {\sum\limits_{m = 0}^{N - 1}\quad {b_{m}^{j\quad}\frac{2\pi \quad m}{N}k}}} & {{Equation}\quad 10} \end{matrix}$

where c_(m) are the Fourier coefficients of the written-in error d_(w), and b_(m) are the Fourier coefficients of the written-in compensation d_(c).

Given these constraints regarding the spectrum of the written-in compensation d_(c), it possible to examine the effects of decimation of d_(c) in order to reduce the number of points of d_(c). d_(c) consists of N points. In accordance with one aspect of the present invention, it is desirable to reduce the number of points in d_(c) without degrading the performance of the written-in compensation to less than an acceptable level. This is the equivalent of resampling d_(c) at a lower sample rate, and then increasing the sample rate when the compensation is applied.

The resampling operation is shown in block diagram 250 of FIG. 5. The original written-in correction, d_(c), is a discrete time signal of N points with a sample rate f_(s) of 1/T_(s) or N·RPM/60 Hz. The decimated correction signal d_(c) is a discrete-time signal of N/R points with a sample rate of (N/R)·(RPM/60) Hz. The decimation is performed once, when the compensation table is permanently stored, for example on the disc 106.

In FIG. 5, filter 252 performs a low pass filtering of the written-in correction value d_(c) and eliminates any frequencies above the Nyquist frequency (f_(s)/2R Hz). Next, decimation block 254 reduces the number of samples by R using R-fold decimation. Note that other decimation operations may be used in accordance with the invention. At block 254, only those samples that occur at times equal to integral multiples of R are kept and the remaining samples are discarded. This decimation operation results in the decimated correction signal, d_(c), which has N/R points and a sample rate of f_(s)/R Hz. The decimated correction values are stored in the disc 106 at block 256.

During readback, these values are recovered from block 256 and provided to expansion block 258. Expansion block 258 performs an R-fold expansion on the decimated signal d_(c) according the equation:

β(k)=d _(c)(k/R), if k is an integral multiple of R=O, otherwise,  Equation 11

after expansion of the signal, interpolation block interpolates between the data points to smooth the signal and provide the resampled signal d_(c), having N sample points and a sample rate of f_(s). In one preferred embodiment, linear interpolation is used, however, any interpolation technique may be used in accordance with the invention. Blocks 258 and 260 are located in servo compensator 229 of FIG. 4.

The present invention results in a reduction in the total number of corrections which must be performed per track. For example, if data is collected from a drive having 96 servo sectors per track (N=96), and the sample rate of the drive is 16 kHz, corresponding to 10,000 RPM, the uncompensated repeatable runout (RRO), resulting from written-in error for the drive is 8.5 microinches. One written-in compensation technique described in co-pending U.S. patent application Ser. No. 09/106,443, was used to derive the compensation table as illustrated in FIG. 6. The repeatable runout with written-in compensation was 3.6 microinches or 42% of the original repeatable runout. Using the preferred resampling technique illustrated in FIG. 5, and setting R=2, the resulting decimated compensation table is illustrated at FIG. 7. The repeatable runout using the decimated compensation table of FIG. 7 was 3.9 microinches, or 46% of the uncompensated repeatable runout. This introduces an error of only 4% in comparison to the undecimated correction table of FIG. 6 a loss of only 0.3 microinches.

Aspects of the present invention include a disc drive 100 having a servo loop 232 for positioning a head 112 over a disc 106. The servo loop 232 includes a servo controller which generates a servo control signal 214 in response to a position error signal 226. An actuator 122 coupled to the servo controller 210 is capable of moving the head 112 in response to the servo control signal 214. A sensor, located in the head 112 is capable of sensing servo information located on the disc 106 and producing a servo signal 218 therefrom. The servo signal 218 is combined with a reference signal 224 to produce the position error signal 226. A compensation storage device 212 stores decimated compensation values. A servo compensator 229 is adapted to expand the decimated compensation values and inject the expanded compensation values 228 into the servo loop 232.

The compensation values are related to discrete time components in written-in repeatable runout. The servo compensator 229 includes an R-fold expander 258. R may be greater than 1 and in one embodiment R is 2. The servo compensator 229 includes an interpolator 260 adapted to interpolate between compensation values. The interpolator may comprise a linear interpolator. The disc 106 has N servo sectors 204, 206 per track and the number of decimated compensation values is less than N. In one aspect, the servo compensator 229 includes an R-fold expander 258 and the number of decimated compensation values is N/R. The compensation values are periodic.

In another aspect of the invention, a method illustrated in flow chart 300 of FIG. 8 is provided for compensating for repeatable runout errors in a disc drive. The method includes determining a sequence of compensation values d_(w) 302, reducing the number of compensation values in the sequence 304 and storing the reduced number of compensation values 306. The stored reduced number of compensation values are retrieved 308 and expanded 310. The expanded number of compensation values are provided to a servo loop 232 in the disc drive 100 at 312. The step of reducing 304 includes performing an R-fold decimation 254 and low pass filtering 252 between compensation values. The step of expanding 310 includes performing an R-fold expansion 258 and interpolating 260 between compensation values.

It is to be understood that even though numerous characteristics and advantages of various embodiments of the present invention have been set forth in the foregoing description, together with details of the structure and function of various embodiments of the invention, this disclosure is illustrative only, and changes may be made in detail, especially in matters of structure and arrangement of parts within the principles of the present invention to the full extent indicated by the broad general meaning of the terms in which the appended claims are expressed. For example, the particular elements may vary depending on the particular application for the servo system while maintaining substantially the same functionality without departing from the scope and spirit of the present invention. In addition, although the preferred embodiment described herein is directed to a servo loop for a disc drive system, it will be appreciated by those skilled in the art that the teachings of the present invention can be applied to other systems, without departing from the scope and spirit of the present invention. 

What is claimed is:
 1. A storage device having a servo loop comprising: a servo compensator adapted to expand decimated compensation values that are to be used in the servo loop; wherein the servo compensator includes an R-fold expander with R greater than
 1. 2. The storage device of claim 1 wherein the compensation values are related to discrete time components of a written-in runout.
 3. The storage device of claim 1 wherein R is
 2. 4. The storage device of claim 1 wherein the servo compensator includes an interpolator adapted to interpolate between compensation values.
 5. The storage device of claim 4 wherein the interpolator comprises a linear interpolator.
 6. The storage device of claim 1 including a disc having N servo sectors per track and the number of decimated compensation values is less than N.
 7. The storage device of claim 6 wherein a number of decimated compensation values is N/R.
 8. The storage device of claim 7 wherein the sample rate of the decimated compensation values is (N/R)·(RPM/60) cycles per second (Hz), where RPM is the number of rotations per minute of the disc.
 9. The storage device of claim 1 wherein the compensation values are periodic.
 10. The storage device of claim 1 wherein the decimated compensation values have been filtered to eliminate frequencies above a Nyquist frequency.
 11. A method of compensating for repeatable runout errors in a storage device, comprising steps of: (a) determining a sequence of compensation values; (b) reducing the number of compensation values in the sequence by performing an R-fold decimation oh the compensation values with R greater than 1; (c) expanding the reduced number of compensation values; and (d) compensating a servo loop in the storage device based upon the expanded compensation values.
 12. The method of claim 11 wherein the reducing step (b) includes low pass filtering the compensation values with a filter which eliminates frequencies above a Nyquist frequency.
 13. The method of claim 11 wherein the expanding step (c) includes performing an R-fold expansion.
 14. The method of claim 11 wherein the expanding step (c) includes interpolating between compensation values.
 15. The method of claim 11 wherein the reducing step (b) reduces the number of compensation values by at least 50%.
 16. The method of claim 11 wherein the storage device includes a disc having N servo sectors per track and the reduced number of compensation values is less than N.
 17. The method of claim 16 wherein the reduced number of compensation value is N/R.
 18. A servo controller for use in a disc storage system, the storage system of the type having a sensor configured to sense servo information on a disc surface and provide a servo signal and an actuator configured to position the sensor over the disc surface in response to a servo control signal, the servo controller comprising: a reference signal input to receive a reference signal indicative of a desired sensor position over the disc surface; a position error signal related to a difference between the reference signal and the servo signal; stored decimated servo compensation values; and a servo compensator configured to expand the decimated servo compensation values and inject servo compensation values into the servo control signal; wherein the servo compensator includes an R-fold expander with R greater than
 1. 